package com.nova.bluetooth.xunFeiSDK.utils;

import android.util.Log;


import com.nova.bluetooth.base.BaseApp;

import java.util.HashMap;
import java.util.Random;

/**
 * 背景：自定义内容，需要随机播放资源。但云端不支持随机返回结果(单个问答库支持最多20个回答)，因此要设备侧存储路径后随机播放
 * 调用示例：String resUrl=RandomResUtil.getRes("资源1").split("；")[0];
 * String resName=RandomResUtil.getRes("资源1").split("；")[1];
 */
public class RandomResUtil {
    private static final String TAG = RandomResUtil.class.getSimpleName();
    private static HashMap<String, String[]> Map = new HashMap();
    private static Random random = new Random();
    private static String[] resource1;     //资源1
    private static String[] resource2;     //资源2


    // 从assets文件中加载本地路径
    static {
        //初始化资源路径--方法1：大量文件读取txt文件
        resource1 = FileUtil.readFile(BaseApp.app, "localRes/resource1.txt", "utf-8").split("\\r?\\n");
        resource2 = FileUtil.readFile(BaseApp.app, "localRes/resource1.txt", "utf-8").split("\\r?\\n");

        //初始化资源路径--方法2：少量文件直接生成
//        resource1 = new String[]{"https://aiui.xfyun.cn/","  https://www.xfyun.cn/"};
//        resource2 = new String[]{"https://aiui.xfyun.cn/","  https://www.xfyun.cn/"};

        //放进map，拿到云端json后直接根据json结果调用
        Map.put("资源1", resource1);
        Map.put("资源2", resource2);
    }

    //获取随机路径
    public static String getRes(String resName) {
        String[] resource = Map.get(resName);
        return resource[random.nextInt(resource.length)];
    }

    //打印所有资源路径
    public static void listAllPath(String resName) {
        String[] resource = Map.get(resName);
        for (int i = 0; i < resource.length; i++) {
            Log.i(TAG, resource[i]);
        }
    }
}
